首先,我今天想介紹FAISS,它是相似度搜尋庫,是由facebook所開發的,主要用來在大量的向量資料中快速找到並查詢向量最相似的項目,但缺點是不具備資料庫的功能。
我開始介紹要如何做一個小小的範例:
用FAISS 將句子轉為向量後儲存與查詢
pip install faiss-cpu sentence-transformers(用來向量化句子)
載入句向量模型、FAISS 向量索引、NumPy 陣列工具
建立句子
我這裡用小和快的模型運作(all-MiniLM-L6-v2)(每個句子是384 維),把三個句子都轉成 各384 維的向量
建一個用 L2 距離的索引,並用 L2(歐氏距離)當相似度度量。
歐氏距離就是高中的找出最短距離公式:數字越小越相似
三個句子的向量加到 FAISS 索引
查詢相似句子,我選最相近的兩個句子
顯示結果
這是我最後輸出的樣子
明天會講到另一種有加上具備資料庫的Chroma~~